<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
// 页面渲染流程：GUI渲染线程
// 1.从上到下解析html文档，生成节点树
// 2.加载css样式，解析生成样式树
// 3.将节点树和样式树结合计算生成渲染树
// 4.GUI渲染线程根据渲染树渲染显示在界面

// 当解析到script标签时，停止渲染页面，先加载执行JS脚本（JS引擎线程负责）
// 当JS脚本执行完成后，才会继续后面的渲染

// JS脚本会阻塞页面渲染：GUI渲染线程和JS引擎线程是互斥的关系

// 重排，重新排列，重新排版（修改元素大写、尺寸、位置、边框、增删改等操作）
// 重绘，重新绘制，重新渲染（修改元素的字体颜色、背景颜色、边框颜色等操作）
// 重排必定引发重绘，重绘不一定引发重排

// 面向对象：是一种软件开发方法，是一种高级的变成思想
// 面向对象编程以对象为基本单元
// 面向对象的特征：封装、继承、抽象、多态
// 面向对象编程的好处：灵活性、复用性、扩展性
// 面向对象 OO
// 面向对象分析 OOA
// 面向对象设计 OOD
// 面向对象编程 OOP

// 面向对象编程的核心是 类 与 对象
// 构造函数（类）：对象的抽象就是类
// 对象（实例）：类的具体实例就是对象

// 创建对象：
// 1.直接赋值{}创建对象
// 2.使用Object构造函数创建对象
// 3.使用 工厂模式 创建对象
// 4.使用 构造函数 创建对象
// 5.使用 原型模式 创建对象
// 6.使用 混合模式 创建对象

</script>    
</body>
</html>